Methods and systems for switching between service provider networks

ABSTRACT

A user device (e.g., a mobile phone, user equipment (UE), a dual subscriber identity module (SIM) dual standby (DSDS) device, a multi-SIM multi-standby device (MSMS) device, a mobile device, a smart device, laptop, tablet, computing device, etc.) may dynamically determine configurations for preferred and/or offload networks and optimally switch connections between service provider networks.

CROSS-REFERENCE TO RELATED PATENT APPLICATION

This application is a continuation of U.S. application Ser. No.17/129,610, filed Dec. 21, 2020, which claims the benefit of U.S.Provisional Application No. 62/950,739 filed Dec. 19, 2019, hereinincorporated by reference in its entirety.

BACKGROUND

A user device (e.g., a mobile phone, user equipment (UE), a dualsubscriber identity module (SIM) dual standby (DSDS) device, a multi-SIMmulti-standby device (MSMS) device, a mobile device, a smart device,laptop, tablet, computing device, etc.) may be associated with differentnetwork subscriptions that enable the user device to switch betweennetworks owned/maintained by different service providers. The userdevice is unable to determine when switching to a particular network maydegrade a user experience due to congestion, errors, and/or other issuesof the switched to network. Each time the user device scans for anetwork to switch to creates gaps in data reception that degrade theuser experience. Switching between networks drains the power and relatedresources of the user device.

SUMMARY

It is to be understood that both the following general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive. Methods and systems for switching betweenservice provider networks are described. A user device (e.g., a mobilephone, user equipment (UE), a dual subscriber identity module (SIM) dualstandby (DSDS) device, a multi-SIM multi-standby device (MSMS) device, amobile device, a smart device, laptop, tablet, computing device, etc.)may avoid interrupting and/or degrading a user experience (e.g., aperceived quality of a voice and/or data communication, etc.) bymonitoring traffic patterns within a network, and taking advantage ofopportunities to switch to another network when the user experience maybe least impacted.

The user device may intermittently determine the status and/or conditionof a preferred service provider network and/or an offload serviceprovider network, and use handover (e.g., hand-in, hand-out, etc.)criteria, conditions (e.g., network conditions, device-based-conditions,etc.) and/or configurations (e.g., preset device configurations, serviceprovider-specific configurations, original equipment manufacturer (OEM)configurations, etc.) to determine when to switch between the networkswithout affecting a user experience. For example, a user deviceconnected to and/or in communication with a mobile network operator(MNO) may switch the connection and/or communication to a multi-systemoperator (MSO) network based on different handover (e.g., hand-in,hand-out, etc.) criteria, conditions, and/or configurations. The userdevice may use coverage based measurement criteria (e.g.,service/communication provider signal detection, etc.), network/providerconditions/settings (e.g., congestion, data/user overload, device classpreference, traffic conditions, etc.), and/or device-based conditions(e.g., operational status, rate of movement, or any other criteria,and/or conditions to determine when to transitions from a networkassociated with a subscription/service/provider to a network associatedwith a different subscription/service/provider.

This summary is not intended to identify critical or essential featuresof the disclosure, but merely to summarize certain features andvariations thereof. Other details and features will be described in thesections that follow.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, together with the description, serve toexplain the principles of the methods and systems:

FIG. 1 shows a system for switching between service provider networks;

FIG. 2 is a diagram for switching between service provider networks;

FIG. 3 shows a flowchart of a method for switching between serviceprovider networks;

FIG. 4 shows a flowchart of a method for switching between serviceprovider networks;

FIG. 5 shows a flowchart of a method for switching between serviceprovider networks; and

FIG. 6 shows a block diagram of a computing device for implementingservice provider network switching.

DETAILED DESCRIPTION

As used in the specification and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another configuration includes from the oneparticular value and/or to the other particular value. When values areexpressed as approximations, by use of the antecedent “about,” it willbe understood that the particular value forms another configuration. Itwill be further understood that the endpoints of each of the ranges aresignificant both in relation to the other endpoint, and independently ofthe other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includescases where said event or circumstance occurs and cases where it doesnot.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude other components, integers, or steps. “Exemplary” means “anexample of” and is not intended to convey an indication of a preferredor ideal configuration. “Such as” is not used in a restrictive sense,but for explanatory purposes.

It is understood that when combinations, subsets, interactions, groups,etc. of components are described that, while specific reference of eachvarious individual and collective combinations and permutations of thesemay not be explicitly described, each is specifically contemplated anddescribed herein. This applies to all parts of this applicationincluding, but not limited to, steps in described methods. Thus, ifthere are a variety of additional steps that may be performed it isunderstood that each of these additional steps may be performed with anyspecific configuration or combination of configurations of the describedmethods.

As will be appreciated by one skilled in the art, hardware, software, ora combination of software and hardware may be implemented. Furthermore,a computer program product on a computer-readable storage medium (e.g.,non-transitory) having processor-executable instructions (e.g., computersoftware) embodied in the storage medium. Any suitable computer-readablestorage medium may be utilized including hard disks, CD-ROMs, opticalstorage devices, magnetic storage devices, memresistors, Non-VolatileRandom Access Memory (NVRAM), flash memory, or a combination thereof.

Throughout this application reference is made to block diagrams andflowcharts. It will be understood that each block of the block diagramsand flowcharts, and combinations of blocks in the block diagrams andflowcharts, respectively, may be implemented by processor-executableinstructions. These processor-executable instructions may be loaded ontoa general-purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe processor-executable instructions which execute on the computer orother programmable data processing apparatus create a device forimplementing the functions specified in the flowchart block or blocks.

These processor-executable instructions may also be stored in acomputer-readable memory that may direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the processor-executable instructions stored in thecomputer-readable memory produce an article of manufacture includingprocessor-executable instructions for implementing the functionspecified in the flowchart block or blocks. The processor-executableinstructions may also be loaded onto a computer or other programmabledata processing apparatus to cause a series of operational steps to beperformed on the computer or other programmable apparatus to produce acomputer-implemented process such that the processor-executableinstructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowcharts supportcombinations of devices for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowcharts, andcombinations of blocks in the block diagrams and flowcharts, may beimplemented by special purpose hardware-based computer systems thatperform the specified functions or steps, or combinations of specialpurpose hardware and computer instructions.

This detailed description may refer to a given entity performing someaction. It should be understood that this language may in some casesmean that a system (e.g., a computer) owned and/or controlled by thegiven entity is actually performing the action.

A preferred network may be any network that a user device (e.g., amobile phone, user equipment (UE), a dual subscriber identity module(SIM) dual standby (DSDS) device, a multi-SIM multi-standby device(MSMS) device, a mobile device, a smart device, laptop, tablet,computing device, etc.) is configured/provisioned to use as a primaryconnection and/or communication service for a type of service/data. Anoffload network may be any network that a user device isconfigured/provisioned to use as a secondary connection and/orcommunication service for a different type of service/data. For example,a primary connection and/or communication service may be include anyconnection and/or communication that a mobile/smart phone (or any otheruser device) uses to communicate voice service/data, cellularservice/data, and/or the like, and a secondary connection and/orcommunication service may be include any connection and/or communicationservice the mobile/smart phone (or any other user device) uses tocommunicate multimedia service/data, Internet service/data, and/or thelike. The mobile/smart phone (or any other user device) may beconfigured to use a cellular network as a primary connection and/orcommunication service for sending/receiving voice data and may beconfigured to use a packet-switched and/or circuit-switched network as asecondary connection for sending/receiving multimedia data. Themobile/smart phone (or any other user device) may determineopportunities to ignore/change network (preferred/primary network and/oroffload/secondary network) selection configurations and/or presets. Themobile/smart phone may ignore/change the network) selectionconfigurations and/or presets when/if switching to a network would causea degraded user experience. For example, a user experience may bedegraded if a network the user device switches/connects to isexperiencing congestion, errors, latency, or any other network issues.

The user device may determine/adjust its configurations for preferredand/or offload networks and switch connections between service providernetworks. For example, the user device, when connected to and/or incommunication with a mobile network operator (MNO) network, may switchthe connection and/or communication to a multi-system operator (MSO)network. The switch may be based on different handover (e.g., hand-in,hand-out, etc.) criteria (e.g., one or more signals received and/or notreceived, etc.), conditions (e.g., network conditions,device-based-conditions, etc.), and/or configurations (e.g., presetdevice configurations, service provider-specific configurations,original equipment manufacturer (OEM) configurations, etc.). Forexample, the user device may use coverage based measurement criteria(e.g., service/communication provider signal detection, etc.),network/provider conditions/settings (e.g., congestion, data/useroverload, device class preference, traffic conditions, etc.), and/ordevice-based conditions (e.g., operational status, rate of movement, orany other criteria, and/or conditions to determine when to transitionsfrom a network associated with a subscription/service/provider to anetwork associated with a different subscription/service/provider.

FIG. 1 shows a system 100 for switching between service providernetworks. The system 100 may be configured to provide services, such aswireless communication services, to a user device 101 (e.g., a mobilephone, user equipment (UE), a dual subscriber identity module (SIM) dualstandby (DSDS) device, a multi-SIM multi-standby device (MSMS) device, amobile device, a smart device, laptop, tablet, computing device, etc.).A DSDS and/or multi-SIM configuration of the user device 101 may enablethe user device 101 to connect to (e.g., attach, etc.) and/or be incommunication with networks provided by, supported, by, and/ormaintained by different service providers, such as a multi-systemoperator (MSO) network 117 and a mobile network operator (MNO) network122. The user device may be configured to manage connections with andcommunications to the MSO network 117, the MNO network 123, or any othernetwork-based, in part, on preferred network settings of the user device101.

The multi-system operator (MSO) network 117 may include multiple basestations (e.g., network devices, relays, access points, etc.), such asan MSO eNb 116. The MSO eNb 116 may be a fixed point of communicationused to maintain a connection/communication with multiple user devices(e.g., the user device 101, etc.), and/or facilitate device pagingservices within the MSO network 117. The MSO eNb 116 may be connected toan antenna (or multiple antennae) that receives and transmits signals(e.g., cellular signals, etc.) within the MSO network 117 to multipleuser devices (e.g., the user device 101, etc.). The MSO eNb 116 mayextend a service provider network (e.g., the MSO network 117, etc.) byblocks or by miles. The MSO eNb 116 may implement media access control(MAC), physical, radio link control (RLC), and packet data controlprotocol (PDCP) layers, and offer radio resource control (RRC),admission, QoS (Quality of Service), and other such functionalitieswithin the MSO network 117.

The multi-system operator (MSO) network 117 may include an MSO mobilitymanagement entity (MME) 121. The MSO-MME 121 may serve as a primarymanagement element for access to the MSO network 117. The MSO-MME 121may be responsible for all the procedures (authentication, encryption,signaling, mobility, etc.) relative to the user device 101. The MSO-MME121 may serve as a control node for the MSO network 117. The MSO-MME 121may be responsible for tracking and paging procedures associated withthe user device 101, including retransmissions. The MSO-MME 121 maymanage/facilitate a bearer activation/deactivation process and may beresponsible for choosing a serving gateway (SGW), such as the MSO-SGW118, for the user device 101 when the user device 101 initially connects(e.g., an initial attach, etc.) to the MSO network 117 and at time of anintra-base station handover. The MSO-SGW 118 may route and/or forwarddata packets sent by the user device 101, and may also serve as amobility anchor for the user device 101 during inter-base stationhandovers and/or communication technology changes (e.g., data vs. voice,etc.). When the user device 101 is in an idle state, the MSO-SGW 118 mayterminate the downlink data path and trigger paging when downlink dataarrives for the user device 101. The MSO-SGW 118 may manage and storeuser device 101 contexts, such as parameters of an internet protocol(IP) bearer service, and/or network internal routing information. TheMSO-SGW 118 may replicate user traffic associated with the user device101 in case of lawful interception.

The MSO-MME 121 may authenticate the user device 101 for the MSO network117 based on by interacting with an MSO home subscriber server (HSS)120. The MSO-HSS 120 may store/manage subscription-related information(e.g., subscriber profiles, etc.), perform authentication andauthorization of the user device 101, and provide location and IPinformation associated with the user device 101 whenever the user device101 is connected/attached to the MSO network 117. An MSO packet-datanetwork gateway (P-GW) 119 may provide connectivity from the user device101 to one or more external packet data networks, by serving as a pointof exit and entry of traffic for the user device 101.

The mobile network operator (MNO) network 122 may include multiple basestations (e.g., network devices, relays, access points, etc.), such asan MNO eNb 123. The MNO eNb 123 may be a fixed point of communicationused to maintain a connection/communication with multiple user devices(e.g., the user device 101, etc.), and/or facilitate device pagingservices within the MNO network 122. The MNO eNb 123 may be connected toan antenna (or multiple antennae) that receives and transmits signals(e.g., cellular signals, etc.) within the MNO network 122 to multipleuser devices (e.g., the user device 101, etc.). The MNO eNb 123 mayextend a service provider network (e.g., the MNO network 122, etc.) byblocks or by miles. The MNO eNb 123 may implement media access control(MAC), physical, radio link control (RLC), and packet data controlprotocol (PDCP) layers, and offer radio resource control (RRC),admission, QoS (Quality of Service), and other such functionalitieswithin the MNO network 122.

The mobile network operator (MNO) network 122 may include a mobilitymanagement entity (MME) 125. The MME 125 may serve as a primarymanagement element for access to the MNO network 122. The MME 125 may beresponsible for all the procedures (authentication, encryption,signaling, mobility, etc.) relative to the user device 101. The MME 125may serve as a control node for the MNO network 122. The MME 125 may beresponsible for tracking and paging procedures associated with the userdevice 101, including retransmissions. The MME 125 may manage/facilitatea bearer activation/deactivation process and may be responsible forchoosing a serving gateway (SGW), such as an SGW 126, for the userdevice 101 when the user device 101 initially connects (e.g., an initialattach, etc.) to the MNO network 122 and at time of an intra-basestation handover. The SGW 126 may route and/or forward data packets sentby the user device 101, and may also serve as a mobility anchor for theuser device 101 during inter-base station handovers and/or communicationtechnology changes (e.g., data vs. voice, etc.). When the user device101 is in an idle state, the SGW 126 may terminate the downlink datapath and trigger paging when downlink data arrives for the user device101. The SGW 126 may manage and store user device 101 contexts, such asparameters of an internet protocol (IP) bearer service, and networkinternal routing information. The SGW 126 may replicate user trafficassociated with the user device 101 in case of lawful interception.

The MME 125 may authenticate the user device 101 for the MNO network 122based on interacting with a home subscriber server (HSS) 124. The HSS124 may store/manage subscription-related information (e.g., subscriberprofiles, etc.), perform authentication and authorization of the userdevice 101, and provide location and IP information associated with theuser device 101 whenever the user device 101 is connected/attached tothe MNO network 122. A packet-data network gateway (P-GW) 127 mayprovide connectivity from the user device 101 to one or more externalpacket data networks, by serving as a point of exit and entry of trafficfor the user device 101.

The MNO network 122 may be associated with an internet protocol (IP)multimedia subsystem (IMS) 128. The IMS 128 may include an architecturalframework for delivering IP multimedia services to devices incommunication with the MNO network 122, such as the user device 101. TheIMS 128 may be a standalone system that resides out of the MNO network122 and is connected to P-GW 127 via an SGi interface. The IMS 128 maybe in connection/communication with a public switched telephone network(PSTN) 129. The PSTN 129 may include all switched telephone networksaround the world that are operated by local, national or internationalcarriers.

The user device 101 may comprise an interface module 102 that providesan interface to a user to interact with the user device 101, anotheruser device, and/or any other device/component of the system 100. Theinterface module 102 may be any interface for presenting and/orreceiving information to/from the user, such as user feedback. Aninterface may be a communication interface such as a web browser (e.g.,Internet Explorer®, Mozilla Firefox®, Google Chrome®, Safari®, or thelike). Other software, hardware, and/or interfaces may be used toprovide communication between the user and one or more of the userdevice 101, another user device, and/or any other device/component ofthe system 100. The interface module 102 may request or query variousfiles from a local source and/or a remote source. The interface module102 may transmit data to a local or remote device such as another userdevice, and/or any other device/component of the system 100.

The user device 101 may be associated with a user identifier or deviceidentifier 103. The device identifier 103 may be any identifier, token,character, string, or the like, for differentiating one user or userdevice (e.g., user device 101) from another user or user device. Forexample, the device identifier 103 may include an international mobilesubscriber identity (IMSI), an international mobile equipment identity(IMEI), a media access control address (MAC address), a mobile deviceidentifier, and/or any other identifier. The device identifier 103 mayidentify a user or user device as belonging to a particular class ofusers or user devices. The device identifier 103 may compriseinformation relating to the user device such as a manufacturer, a modelor type of device, a service provider associated with the user device101, a state of the user device 101, a locator, and/or a label orclassifier. Other information may be represented by the deviceidentifier 103.

The device identifier 103 may comprise an address element 104 and aservice element 105. The address element 104 may comprise or provide aninternet protocol address, a network address, a media access control(MAC) address, an Internet address, or the like. The address element 104may be relied upon to establish a communication session between the userdevice 101, another user device, different networks, and/or any otherdevice/component of the system 100. The address element 104 may be usedas an identifier or locator of the user device 101. The address element104 may be persistent for a particular network.

The service element 105 may comprise an identification of a serviceprovider/network (e.g., a primary network, an offload network, themulti-system operator (MSO) network 117, the mobile network operator(MNO) network 122, a communication service provider, a content deliverynetwork, etc.) associated with the user device 101 and/or with the classof user device 101. The class of the user device 101 may be related to atype of device, a capability of a device, type of service beingprovided, and/or a level of service (e.g., business class, service tier,service package, etc.). The service element 105 may comprise informationrelating to or provided by a communication service provider (e.g.,Internet service provider) that is providing or enabling data flow suchas communication services to the user device 101. The service element105 may comprise information relating to a preferred serviceprovider/network for one or more particular services relating to theuser device 101. The address element 104 may be used to identify orretrieve data from the service element 105, or vice versa. The one ormore of the address element 104 and the service element 105 may bestored remotely from the user device 101 and retrieved by one or moredevices such as the user device 101, another user device, and/or anyother device/component of the system 100. Other information may berepresented by the service element 105.

The user device 101 may include a memory 135. The memory 135 may storecredentials (e.g., identifier information, password information, serviceprovider credentials/information, etc.) associated with the user device101, another user device, and/or any other device/component of thesystem 100. The memory 135 may store one or more applications and/orprograms (e.g., application programming interface (API), etc.). Thememory 135 may store and/or include any data/information. The memory 135may include an internal memory and/or an external memory. For example,the internal memory may include volatile memory (e.g., a Dynamic RAM(DRAM), a Static RAM (SRAM), a Synchronous Dynamic RAM (SDRAM), etc.)and a non-volatile memory (e.g., a One Time Programmable ROM (OTPROM), aProgrammable ROM (PROM), an Erasable and Programmable ROM (EPROM), anElectrically Erasable and Programmable ROM (EEPROM), a mask ROM, a flashROM, a flash memory (e.g., a NAND flash memory, a NOR flash memory,etc.), a hard drive, or a Solid State Drive (SSD)). The external memorymay include, for example, a flash drive, Compact Flash (CF), SecureDigital (SD), Micro Secure Digital (Micro-SD), Mini Secure Digital(Mini-SD), extreme Digital (xD), memory stick, and/or the like. Theexternal memory may be operatively and/or physically connected to theuser device 101 via an interface, such as the interface module 102.

The user device 101 may include a communication module 136. Thecommunication module 136 may include a processor (not shown), such as abaseband processor and/or the like, for managing communications betweena modem 107, a cellular module 108, a Wi-Fi module 109, a BlueTooth (BT)module 110, a global navigation satellite system (GNSS) module 111(e.g., a GPS module, a Glonass module, a Beidou module, or a Galileomodule), a Near Field Communication (NFC) module 112, and a RadioFrequency (RF) module 113.

The RF module 113 may transmit/receive, for example, a communicationsignal (e.g., a Radio Frequency (RF) signal). The RF module 113 mayinclude, for example, a transceiver, a Power Amp Module (PAM), afrequency filter, a Low Noise Amplifier (LNA), an antenna, or the like.At least one of the modem 107, the cellular module 108, the WiFi module109, the Bluetooth (BT) module 110, the GNSS module 111, and the NFCmodule 112 may transmit/receive an RF signal via a separate RF module.The RF module 113 may receive downlink signals transmitted by a basestation (e.g., network device, relay, access point, etc.), such as abase station within a multi-system operator (MSO) network 117 (e.g., MSOeNb 116, etc.) or a base station within a multi-system operator (MSO)network 122 (e.g., MNO eNb 123, etc.) The RF module 113 (e.g., areceiver of the RF module 113) may condition (e.g., filter, amplify,frequency downconvert, digitize, etc.) the received signal andprovide/generate input samples. The modem 107 may process (e.g.,demodulate) the input samples and provide symbol estimates. The modem107 may process (e.g., de-interleave, decode, etc.) the symbol estimatesand generate/provide decoded data and signaling messages sent to theuser device 101. The modem 107 may process received signals inaccordance with a radio access technology (RAT) used by a wirelessnetwork (e.g., the MSO network 117, the MNO network 123, etc.) withwhich the user device 101 is in communication. The modem 107 maymodulate one or more carrier wave signals, encode digital informationfor transmission, demodulate signals, and decode information received.The modem 107 may be operable for any mobile telephony system (e.g.,GPRS, UMTS, HSPA, EVDO, WiMax, etc.). The modem 107 may communicate withany component of the user device 101, such as the processor 106, themulti-SIM module 115, and/or the like to facilitate and/or managecommunications with any component of the system 100. For, example themodem 107 may communicate with any component of the user device 101 tomanage, facilitate, and/or assist with communications with adevice/component of a service provider and/or carrier network, such asduring a handover process/procedure, and/or the like.

The cellular module 108 may provide a voice call, a video call, a textservice, an internet service, and/or the like through a communicationnetwork (e.g., the MNO network 122, etc.). For example, the cellularmodule 108 may identify and authenticate the user device 101 in thecommunication network by using the multi-SIM module 115 (e.g., aSubscriber Identity Module (SIM) card). The cellular module 108 mayinclude a Communication Processor (CP) and may perform at least somefunctions that may be provided by the processor 106. Each of the modem107, the cellular module 108, the WiFi module 109, the Bluetooth (BT)module 110, the GNSS module 111, and/or the NFC module 112 may includeand/or be associated with, for example, a processor for processing datatransmitted/received via a corresponding module. Data/informationtransmitted/received via the modem 107, the cellular module 108, theWiFi module 109, the Bluetooth (BT) module 110, the GNSS module 111,and/or the NFC module 112 may be processed by a single processor. Atleast some (e.g., two or more) of the modem 107, the cellular module108, the WiFi module 109, the Bluetooth (BT) module 110, the GNSS module111, and the NFC module 112 may be included in a single integratedcircuit (IC) or an IC package.

User device 101 may use the communication module 136 to detect/determinethe presence of a service provider/network (e.g., a primary network, anoffload network, the multi-system operator (MSO) network 117, the mobilenetwork operator (MNO) network 122, a communication service provider, acontent delivery network, etc.). For example, the communication module136 may cause the RF module to tune to different frequencies/amplitudesto detect/determine (e.g., receive, etc.) signals sent/broadcast by adevice/component of a service provider/network (e.g., a primary network,an offload network, the multi-system operator (MSO) network 117, themobile network operator (MNO) network 122, a communication serviceprovider, a content delivery network, etc.).

The user device 101 may include the processor 106. The processor 106 maybe implemented, for example, with a System on Chip (SoC), and/or thelike. The processor 106 may comprise suitable logic, circuitry,interfaces, and/or code that may be operable to manage/controloperations of and/or communicate with components of the user device 101such as, for example, the communication module 136, the multi-subscriberidentification module (SIM) module 115, and/or any other component ofthe user device 101. The processor 106 may coordinate and/or controloperations of the multi-SIM module 115 in response to a SIM cardselection from the interface module 102. The processor 106 may includean application processor configured to run a specific application basedon an application selection from the interface module 102. The processor106 may communicate with any component of the user device 101 to manage,facilitate, and/or assist with communications with a service providerand/or carrier, such as during a handover process/procedure, and/or thelike.

The processor 106 may be operable to select one or more SIM cards (e.g.,SIM card 138, SIM card 139, etc.) associated with the multi-Sim module115 based on user preferences and/or device configuration. The processor106 may communicate SIM card selection information to a SIM cardcontroller (not shown) of the multi-Sim module 115 so that the selectedone or more SIM cards may be connected to the SIM card (not shown) ofthe multi-Sim module 115 and thereby to the processor 106 (and/or anyother component of the user device 101). The selected SIM cards may beactively connected to the SIM card controller to enable downloading ofcorresponding SIM identification information into the memory 135 (or anyother data/information repository) of the user device 101. SIMidentification information associated with (e.g., downloaded from) eachof the selected SIM cards (e.g., SIM card 138, SIM card 139, etc.) maybe stored and the SIM identification information corresponding to one ormore of a plurality of SIM cards of the multi-Sim module 115 (e.g., SIMcard 138, SIM card 139, etc.) may be in an active state or a standbystate.

The multi-Sim module 115 may include multiple SIM cards (e.g., SIM card138, SIM card 139, etc.) and/or embedded SIMs, The multi-Sim module 115may include and/or be associated with unique identification information(e.g., an Integrated Circuit Card Identifier (ICCID)) or subscriberinformation (e.g., an International Mobile Subscriber Identity (IMSI)).

The user device 101 may include a sensor module 114. The sensor module114 may measure, for example, a physical quantity or detect anoperational status of the user device 101, and may convert the measuredor detected information into an electric signal. The sensor module 740may include, for example, at least one of a gesture sensor, a gyrosensor, a pressure sensor, a magnetic sensor, an acceleration sensor, agrip sensor, a proximity sensor, a color sensor (e.g., a Red, Green,Blue (RGB) sensor), a biosensor, a temperature/humidity sensor, anillumination sensor, an Ultra Violet (UV) sensor, an ultrasonic sensor,and an optical sensor, and/or any other senor. The sensor module 114 maydetect/determine power consumption (caused by one or moreprocesses/functions of the user device), and may send data/informationregarding the power consumption to any other component of the userdevice 101, such as the interface module 102, the processor 106, and/orthe communication module 136. Data/information regarding the powerconsumption of the user device 101 (a component of the user device 101)may be used based on a protocol (e.g., a protocol/method for switchingbetween service provider networks, etc.) associated with acommunications/connection handover process/procedure between one or morecomponents/devices of a service provider/network (e.g., a primarynetwork, an offload network, the multi-system operator (MSO) network117, the mobile network operator (MNO) network 122, a communicationservice provider, a content delivery network, etc.).

The sensor module 114 may communicate with the processor 106 (or anyother component of the user device 101) to detect/determine amobility/operational state of the user device 101. An estimation of themobility/operational state of the user device may be used to dynamicallyadjust settings of the user device 101, such as preferred networksettings of the user device 101. For example, the user device 101 may beconfigured to recognize either the MSO network 117 or the MNO network123 as a preferred network. The user device 101 may be connected toand/or in communication with a non-preferred network and operating at aspeed/rate higher than a threshold. The user device 101 (e.g., theprocessor 106, etc.) may be operating at a speed higher than thethreshold because the user device 101 may be in engaged in a processassociated with the non-preferred network, such as carrier aggregation,a large data upload/download, a resource taxing communication session(e.g., advanced wireless technology, a fifth-generation (5G)communication session or greater, etc.), and/or the like. To avoid aninterruption of the current process of the user device 101 on thenon-preferred network caused by an automatic switch to a preferrednetwork, the determination of the mobility/operational state of the userdevice may cause the user device to adjust the preferred networksettings so that the non-preferred network becomes the preferred network(or vice versa). Hysteresis of the mobility/operational state may beused to dynamically adjust the preferred network settings of the userdevice 101.

The user device 101 may use the sensor module 114 for localizationanalysis of the user device 101. For example, the user device 101 maydetermine when it is operating indoors and when it is operatingoutdoors. The user device 101, based on localization analysis, maydynamically adjust its preferred network settings. For example, thepreferred network settings of the user device 101 may be adjusted sothat a non-preferred network becomes a preferred network of the userdevice 101 whenever the user device is indoors and/or within aparticular geo-fenced area. The MSO network 117 and the MNO network 123may both implement different geo-fencing schemes within the respectivenetworks. The user device 101 may detect the presence of adevice/component of a network (e.g., the MSO network 117, the MNOnetwork 123, etc.), such as a Wi-Fi access point (or any otherdevice/component), and dynamically adjust its preferred network settingsbased on the detection. When the user device 101 detects and/ordetermines the presence of a device/component of a network, the userdevice 101 may cease scanning for (detecting/determining, etc.) apreferred network regardless of the preferred network settings of theuser device 101.

A connection switch of the user device 101 from a first networkassociated with subscription/service/provider (e.g., the MNO network122, etc.) to a second network associated with anothersubscription/service/provider (e.g., the MSO network 117, etc.) maycause the first network (e.g., a base station of the first network, anaccess point of the first network, etc.) to incorrectly perceive thatthe user device 101 has moved into a reduced coverage area and/orchallenged radio/signal environment of the first network. For example,when a user of the user device 101 is traveling/moving with the userdevice 101 through a coverage area of the MNO network 122, a referencesignal received power (RSRP), reference signal received quality (RSRQ),or any other signal measurement associated with the MNO eNb 123 may beimpaired and/or reduced. The MNO eNb 123 may incorrectly perceive thatthe user device 101 has moved into a reduced coverage area of the MNOnetwork 122, causing the MNO eNb 123 to unnecessarily send increasedpower ramp-up commands to the user device 101, and/or terminate aconnection with the user device 101. To avoid mitigation by the MNO eNb123 (or any other base station, device, or component of the MNO network122), the user device 101 may send a signal/information to the MNO eNb123 (or any other base station, device, or component of the MNO network122) to extend a time window within which the MNO eNb 123 attempts todetermine the presence of the user device 101. During the extended timewindow, the MNO eNb 123 may deactivate any virtual connection betweenthe user device 101 and the P-GW 127. The deactivation of the virtualconnections may be for a pre-determined duration.

When the user device detects and/or determines the presence of the MNOnetwork 123 or the MSO network 117 (based on signals sent/broadcast bythe MNO eNb 123 and the MSO eNb 116, respectively) the user device 101may avoid interruptions in its communications (e.g., datacommunications, voice communications, etc.) caused by failed attempts toswitch to either network. For example, the user device may be configuredto recognize the MSO network 117 as a preferred network, and thus mayattempt to switch/connect to the MSO network 117 whenever the presenceof the MSO network 117 is detected/determined. The MSO network 117 maybe congested, overloaded, and/or experiencing any other networkcondition. Therefore the user device 101 switching/connecting to the MSOnetwork 117 during a time when the MSO network 117 is experiencing anunfavorable network condition may degrade, alter, or otherwise impact auser experience associated with the user device 101. The user device 101may preserve the user experience by using signals (e.g., broadcast(unicast/multicast) messages, beacons, etc.) from the MSO network 117(e.g., the MSO eNb 116, etc.) that inform of the network condition astriggers to abort an attempt to connect/switch to the MSO network 117.The user device 101 may again attempt to connect/switch to the MSOnetwork 117 based on a temporal condition, such as the expiration of atime duration, or during a specific time/time period. The temporalcondition may be determined by the user device 101, aservice/subscription parameter, and/or the MSO network 117 (e.g., adevice/component of the MSO network 117, etc.). The MSO network 117(e.g., a device/component of the MSO network 117, etc.) may sendinformation that indicates a temporal condition along with signals thatinform of the network condition. The user device 101 may again (orinitially) attempt to connect/switch to the MSO network 117 (or anyother network) based on a spatial condition, such as when the userdevice 101 leaves/enters a geo-fenced area (e.g., a home, etc.). Theuser device 101 may use any condition to determine when to attempt toreconnect to and/or connect to the MSO network 117. Although the processis described for connecting/switching to the MSO network 117, it shouldbe appreciated that the same process may when connecting/switching theuser device 101 to the MNO network 122 (or any other network).

The user device 101 may conserve its power and or resources whenattempting to connect and/or reconnect to a network (e.g., switchingbetween networks, etc.) by detecting/determining signals (e.g.,broadcast (unicast/multicast) messages, beacons, handover and/orpresence signals, etc.) from a network (e.g., a primary network, anoffload network, the MSO network 117, the MNO network 122, etc.) basedon a varying temporal element, such as a scanning duration and/orscanning periodicity. The scanning duration and/or scanning periodicitymay be adjusted based on parameters/conditions affecting the user device101 such as mobility estimation, device presence criteria/rules (e.g.,whether the user device 101 is indoors or outdoors, etc.), geo-fencingcriteria, battery/power consumption, and/or the like.

As described, the sensor module 114 may estimate/determine the mobilitystate of the user device 101. An estimation/determination of themobility state of the user device 101 may cause the user device 101 todynamically scale the scanning duration of the user device 101. Adetermination that the user device 101 is operating at a speed higherthan a threshold be may cause the scanning (detection/determination)duration to decrease and/or increase a duration between scans by apre-configured/determined factor. When the user device 101 is operatingat a speed higher than the threshold, then the user device 101 may notscan for, detect, and/or determine signals (e.g., broadcast(unicast/multicast) messages, beacons, handover and/or presence signals,etc.) from a network (e.g., a primary network, an offload network, theMNO network 122, the MSO network 117, etc.) to which it is not connectedto until a determination is made that the user device 101 is operatingat speed lower than the threshold. The operational status of the userdevice may enable hysteresis of triggers that cause the user device 101to connect to and/or switch between networks.

The user device 101 may use estimates of presence/localization (e.g.,device indoors, device outdoors, etc.) of the user device 101 todynamically scale the scanning (detection/determination) duration. Forexample, the user device 101 may be provisioned (e.g., pre-configured,over-the-air (OTA) configured, etc.) by a service provider associatedwith a network that prioritizes outdoor deployment to decrease thescanning duration and/or increase the duration between scans by apre-configured factor (or stop scanning) when the user device 101 isindoors. The scanning duration may be adjusted based on othergeo-fencing criteria. For example, the scanning duration may be adjustedor scanning may be ceased when the user device 101 is within ageo-fenced area. The user device 101 may adjust the periodicity of ascan based on geo-fencing criteria. For example, the user device 101 maydynamically change the scanning periodicity based on a proximity measurewithin the geo-fenced area, such as a measure of how close the userdevice 101 is to the centroid of the geo-fenced area. The scanningperiodicity may change and/or be adjusted based on criteria for aplurality of geo-fenced areas to support geography-specific operatordeployment design and densities in different parts of a network. Thescanning duration and periodicity may be based on and/or determined byuser device configurations, information received from a network (e.g.,OTA provisioning from a network server/device/component, carrierapplication, etc.), and/or the like.

Other criteria and/or conditions may affect and/or be used to managewhen the user device 101 transitions connection from a first networkassociated with subscription/service/provider to a second networkassociated with another subscription/service/provider. For example,whenever the user device 101 scans for (e.g., detects/determined, etc.)a network (e.g., the MNO network 123, the MSO network 117, etc.) toswitch to according to preferred network settings, interruptions incommunication and/or data reception may occur and impair an overall userexperience. The user device 101 and/or a network (e.g., a preferrednetwork, the MNO network 123, the MSO network 117, etc.) may beconfigured to assist in avoiding such interruptions by monitoringtraffic patterns within the network, and taking advantage ofopportunities to switch to the network when a user experience may beleast impacted. For example, time-division multiplexed (TDM) patternsand/or frequency-division multiplexed (FDM) patterns between networksmay inform of a dual subscriber identification module (SIM) dual standby(DSDS) or multi-SIM configuration of the user device 101. The userdevice 101 may send a signal, message, notification, and/or the likethat informs the network (e.g., the MNO network 123, the MSO network117, etc.) that the user device 101 is operating in a DSDS and/ormulti-SIM mode. The user device 101 may request/recommend that thenetwork provide a TDM pattern or an FDM pattern for operation. Thenetwork may provide the TDM pattern or the FDM pattern to be received bythe user device 101 on the network and another network to which the userdevice is subscribed to and/or associated. The user device 101 maydetermine the TDM pattern or the FDM pattern and inform both networks ofthe desired TDM pattern or the desired FDM pattern. For example, theuser device 101 may use traffic characteristics of an active datasession to determine the pattern and inform both networks on the desiredTDM pattern or the desired FDM pattern. A capability of the user device101, such as a processing capability, a communication capability, anoperational capability, and/or the like, may be used to determine TDMpattern and/or FDM pattern requirements that may be communicated to thenetworks. The determination of the TDM pattern and/or FDM pattern may beoptimized according to factors such as a traffic profile of the activetraffic on a data network and/or signal measurements/requirements. Forexample, measurements such as reference signal received power (RSRP),reference signal received quality (RSRQ), or any other signalmeasurement associated with a network may be used to determine the TDMpattern and/or FDM pattern requirements.

FIG. 2 shows a diagram for switching between service provider networks.A user device (e.g., the user device 101, a mobile phone, user equipment(UE), a dual subscriber identity module (SIM) dual standby (DSDS)device, a multi-SIM multi-standby device (MSMS) device, a mobile device,a smart device, laptop, tablet, computing device, etc.) may be optimizedto avoid interruptions by using information relating to a network of theto abort a “hand-in” (e.g., a connection attempt, etc.) and switch theuser device back to a primary network. For example, when the modem ofthe user device receives information relating to a network thatindicates a network admission reject condition, the information may besent from a modem to an application processor of the user device toinform the switching logic of the user device to abort the hand-in”(e.g., a connection attempt, etc.).

As shown, a user device may be connected to a primary network 201. Theprimary network 201 may support, facilitate, and/or be associated withvoice services for the user device, and an offload network 204 maysupport, facilitate, and/or be associated with data service (e.g., adedicated data subscription, etc.) for the user device. The primarynetwork 201 may include a mobile network operator (MNO), a multi-systemoperator (MSO) network, or any other network. While connected to theprimary network 201 the user device may transmit and/or be associatedwith traffic 202. Traffic 202 may include any type of data communicationand may be communicated within the primary network 201 using a firstnetwork address 203 (e.g., an internet protocol (IP) address, etc.)associated with the primary network 201. The user device may beconfigured to incrementally tune its transceiver to various frequenciesto scan and/or monitor for a signal that indicates the presence of anoffload network 204. The user device may scan and/or monitor for thesignal that indicates the presence of the offload network 204 accordingto a cycle, such as a defined duration and/or periodicity. For example,the user device may scan and/or monitor for the signal at every2-millisecond interval for 1 millisecond. The cycle may be based on anyduration and/or periodicity. While scanning and/or monitoring for thesignal that indicates the presence of the offload network 204, at 205,the offload network 204 send/broadcast network information 206. Thenetwork information 206 may inform of a network condition affecting theoffload network 204, such as congestion, overload, errors, and/or anyother network condition. A transceiver 207 of the user device mayreceive the network information 206, and at 208, the network information206 may be sent to a modem 209 of the user device.

At 210, the user device may detect one or more signals sent/broadcast bythe offload network 204 (e.g., a base station of the offload network204, etc.). The user device may determine that the one or more signalssent/broadcast by the offload network 204 (e.g., a base station of theoffload network 204, etc.) are received for a duration 211. When theuser device confirms that the one or more signals sent/broadcast by theoffload network 204 are received for the duration 211, at 212 the userdevice may begin measuring the one or more signals to confirm that theone or more signals are sent/broadcast at a level (e.g., power level,etc.) that may confirm the presence of the offload network 204. Forexample, the one or more signals may be sent from the transceiver 207 tothe modem 209 based on the one or more signals satisfying a threshold.At 213, once the one or more signals sent/broadcast by the offloadnetwork 204 are determined to indicate the presence of the offloadnetwork 204, the network information 206 may be sent to an applicationprocessor 214 of the user device. For example, a notification that theone or more signals sent/broadcast by the offload network 204 thatindicate the presence of the offload network 204 satisfy the thresholdand an indication of the network information 206 may be sent to theapplication processor 214. At 215, hysteresis may be used on the signalssent by the offload network 204 informing of the network information 206to prevent any quick changes in the network switching logic of the userdevice due to noise, and/or errors in data reception. The applicationprocessor 214 may determine that the one or more signals sent/broadcastby the offload network 204 that indicate the presence of the offloadnetwork 204 received for a threshold duration.

The network information 206 may inform the user device that the offloadnetwork 204 is operating successfully (e.g., without errors, congestion,etc.) and may support connecting the user device to the offload network204 without detriment to a user experience. The network information 206may inform the user device that the operational status of the offloadnetwork 204 is degraded (e.g., traffic congestion, errors, overload,etc.) and may not support connecting the user device to the offloadnetwork 204 without detriment to the user experience. When/if thenetwork information 206 informs the user device that the operationalstatus of the offload network 204 is degraded, the user device may abortany attempt to switch/connect to the offload network 204.

The application processor 214, based on determining that the one or moresignals sent/broadcast by the offload network 204 that indicate thepresence of the offload network 204 are received by the user device forthe threshold duration, and the network information 206 informing theuser device that the offload network 204 is operating successfully(e.g., without errors, congestion, etc.), may cause a service request216 to be sent to the offload network 204. At 217, the offload network204 may grant the service request 216, and send an acknowledgment of theservice request 216 that may be received by the transceiver 207. Theacknowledgment of the service request 216 may be sent from thetransceiver 207 to the application processor 214 and the applicationprocessor 214 may initiate network switching logic to disconnect theuser device from the primary network 201 and connect the user device tothe offload network 204.

At 218, the application processor may implement switching logic to causethe user device to switch from the primary network 201 to the offloadnetwork 204. The switch from the primary network 201 to the offloadnetwork 204 may cause a switch in services provided to the user device,such as a switch from voice-only services provided by the primarynetwork 201 to a dedicated data subscription (DDS) service. The userdevice switching from voice-only services provided by the primarynetwork 201 to a dedicated data subscription (DDS) service provided bythe offload network 204 is indicated at 218. At 219, informationindicating a successful connection to the offload network 204 may becommunicated to the user device (e.g., the transceiver 207, the modem209, the application processor 214, etc.). When the user device connectsto the offload network 204, the traffic 202 communicated by and/orassociated with the user device may be communicated within the offloadnetwork 204 using a second network address 220 (e.g., an internetprotocol (IP) address, etc.) associated with offload network 204.Although components of the user device (e.g., the transceiver 207, themodem 209, the application processor 214, etc.) are described asperforming certain actions/steps, it should be appreciated that anyaction/step performed by a component of the user device may be performedby any component of the user device.

FIG. 3 shows a flowchart of a method 300 for switching between serviceproviders. At 310, a user device (e.g., the user device 101, a mobilephone, user equipment (UE), a dual subscriber identity module (SIM) dualstandby (DSDS) device, a multi-SIM multi-standby device (MSMS) device, amobile device, a smart device, laptop, tablet, computing device, etc.)may communicate via a first network. For example, the user device may beconnected to the first network. The first network may be a network thatsupports/facilitates voice (e.g., telephony, etc.) communications and/orsubscription services, such as a mobile network operator (MNO) network.The user device may be connected to the first network via a firstnetwork address. For example, communications within the first networkmay be associated with the first network address, such an IP addressspecific to the first network.

At 320, a presence of a second network and a network conditionassociated with the second network may be determined. For example, asignal (e.g., a broadcast (unicast/multicast) message, a beacon, etc.)that indicates the presence of the second network and the indication ofthe network condition of the second network may be received, from anetwork device and/or component of the second network. The secondnetwork may be a network that supports/facilitates data (e.g.,multimedia, a dedicated data subscription, etc.) communications and/orsubscription services, such as a multi-system operator (MSO) network.Communications within the first network may be associated with the firstnetwork address, such as an IP address specific to the first network.The user device may receive the signal that indicates the presence of asecond network and an indication of a network condition of the secondnetwork via a transceiver of the user device. For example, the userdevice may tune the transceiver to a specific frequency, for a duration,to monitor for the signal that indicates the presence of a secondnetwork. The duration may be based on the mobility of the user device,an operational status of the user device, power consumption of the userdevice, device presence (e.g., user device indoor vs. outdoor, etc.), orgeo-fencing information/parameters.

The signal that indicates the presence of the second network may besent/broadcast by any device/component of the second network, such as abase station, access point, relay, node, and/or the like. An indicationof a network condition of the second network may also be sent/broadcastby the device/component of the second network. For example, the secondnetwork may be congested, overloaded, and/or experiencing any othernetwork condition. Alternatively, the second network may be operatingfree of errors, congestion, or any other issues that may detriment auser experience. The second network may periodically broadcast signalsthat indicate its network condition.

The signal that indicates the presence of the second network may bereceived for a threshold duration. The user device may determine thatthe signal that indicates the presence of the second network is receivedfor the threshold duration. For example, an application processor of theuser device may determine that the signal that indicates the presence ofthe second network is received for the threshold duration.

The signal that indicates the presence of the second network may bedetermined to satisfy a threshold. The user device may determine thatthe signal satisfies the threshold. For example, the user device may usesignal measurements such as reference signal received power (RSRP),reference signal received quality (RSRQ), or any other signalmeasurement to determine that the signal satisfies the threshold. Thethreshold may be based on a threshold power level, a thresholdamplitude, and/or the like. When the user device determines that thesignal satisfies the threshold, a transceiver of the user device mayinform a modem of the user device of the presence of the second network.A notification that the signal that indicates the presence of the secondnetwork satisfies the threshold and the indication of the networkcondition may be sent from the modem to an application processor of theuser device.

At 330, a request to connect to the second network may be sent. The userdevice may send the request to connect to the second network based onthe indication of the network condition of the second network. Forexample, the indication of the network condition may indicate that thesecond network has available bandwidth, is operating error free, and/oris not experiencing latency. The indication of the network condition mayindicate any situation and/or condition associated with the secondnetwork. The user device may send the request to connect to the secondnetwork to a base station, access point, relay, node, and/or the like ofthe second network. The application processer of the user device maycause the modem to send the request to connect to the second network tothe base station, access point, relay, node, and/or the like of thesecond network based on determining that the signal that indicates thepresence of the second network is received for the threshold durationand the network condition.

At 340, the user device may connect to the second network. The userdevice may receive an acknowledgment of the request to connect to thesecond network from the base station, access point, relay, node, and/orthe like of the second network. For example, the user device may receivethe acknowledgment via the transceiver. The acknowledgment may besent/forwarded from the transceiver to the application processor. Theapplication processor may initiate a switch protocol to cause the userdevice to connect to the second network. Connecting to the secondnetwork may cause the user device to communicate with the second networkvia a second network address (e.g., an IP address associated with thesecond network, etc.). When the user device connects to the secondnetwork, the user device may also send a message to the first network,such as an ‘Extended Service Request’ message to inform the firstnetwork (e.g., inform a base station, network device, relay, accesspoint, etc.) that the user device is disconnecting from the firstnetwork and connecting to the second network. In response to receivingthe message from the user device. The first network may locallydeactivate all data EPS bearers associated with the user device.Alternatively, the first network may suspend the data EPS bearers with apre-configured timer value configured in the first network.

FIG. 4 shows a flowchart of a method 400 for switching between serviceproviders. At 410, a user device (e.g., the user device 101, a mobilephone, user equipment (UE), a dual subscriber identity module (SIM) dualstandby (DSDS) device, a multi-SIM multi-standby device (MSMS) device, amobile device, a smart device, laptop, tablet, computing device, etc.)communicating with and/or connected to a first network may attempt toconnect to a second network. Communications within the first network maybe associated with a first network address, such as an IP addressspecific to the first network. The first network may be a network thatsupports/facilitates voice (e.g., telephony, etc.) communications and/orsubscription services, such as a mobile network operator (MNO) network.Communications within the first network may be associated with a firstnetwork address, such an IP address specific to the first network. Thesecond network may be a network that supports/facilitates data (e.g.,multimedia, a dedicated data subscription, etc.) communications and/orsubscription services, such as a multi-system operator (MSO) network.

The user device may receive a signal (e.g., a broadcast(unicast/multicast) message, a beacon, etc.) that indicates the presenceof a second network. The signal that indicates the presence of thesecond network may be sent/broadcast by a device/component of the secondnetwork, such as a base station, access point, relay, node, and/or thelike. The user device may receive the signal that indicates the presenceof a second network via a transceiver of the user device. For example,the user device may tune the transceiver to a specific frequency, for aduration, to monitor for the signal that indicates the presence of asecond network. The duration may be based on the mobility of the userdevice, an operational status of the user device, power consumption ofthe user device, device presence (e.g., user device indoor vs. outdoor,etc.), or geo-fencing information/parameters.

The user device may determine that the signal that indicates thepresence of the second network satisfies a threshold and/or is receivedfor a threshold duration. For example, the user device may use signalmeasurements such as reference signal received power (RSRP), referencesignal received quality (RSRQ), or any other signal measurement todetermine that the signal satisfies the threshold. The threshold may bebased on a threshold power level, a threshold amplitude, and/or thelike. When the user device determines that the signal satisfies thethreshold, a transceiver of the user device may inform a modem of theuser device of the presence of the second network. A notification thatthe signal that indicates the presence of the second network satisfiesthe threshold and the indication of the network condition may be sentfrom the modem to an application processor of the user device. Thesignal that indicates the presence of the second network may be receivedfor a threshold duration. The user device may determine that the signalthat indicates the presence of the second network is received for thethreshold duration. For example, an application processor of the userdevice may determine that the signal that indicates the presence of thesecond network is received for the threshold duration.

At 420, an indication of a network condition of the second network maybe received. The indication of the network condition of the secondnetwork may be sent/broadcast by a device/component of the secondnetwork, such as a base station, access point, relay, node, and/or thelike. For example, the second network may be congested, overloaded,and/or experiencing any other network condition. Alternatively, thesecond network may be operating free of errors, congestion, or any otherissues that may detriment a user experience. The second network mayperiodically broadcast signals that indicate its network condition. Theindication of the network condition of the second network may be sentalong with the signal that indicates the presence of the second network.

At 450, the attempt to connect to the second network may be canceled.For example, based on the network condition, the user device maydetermine that a user experience may be impacted by the networkcondition of the second network. For example, an indication ofcongestion, and/or errors associated with the second network, mayindicate that voice data, multimedia data, and/or the like may beimpacted by data loss, connection timeouts, distorted images and/orsound, and/or the like if communicated via the second network. As such,the user device may determine to cancel any attempt to connect to thesecond network and remain connected to and/or in communication with thefirst network.

FIG. 5 shows a flowchart of a method 500 for switching between serviceproviders. At 510, a user device (e.g., the user device 101, a mobilephone, user equipment (UE), a dual subscriber identity module (SIM) dualstandby (DSDS) device, a multi-SIM multi-standby device (MSMS) device, amobile device, a smart device, laptop, tablet, computing device, etc.)in communication with a first network may receive an indication of asecond network. The first network may be a network thatsupports/facilitates voice (e.g., telephony, etc.) communications and/orsubscription services, such as a mobile network operator (MNO) network.The second network may be a network that supports/facilitates data(e.g., multimedia, a dedicated data subscription, etc.) communicationsand/or subscription services, such as a multi-system operator (MSO)network.

The user device may be connected to the first network via a firstnetwork address. For example, communications within the first networkmay be associated with the first network address, such an IP addressspecific to the first network. The indication of the second may be basedon a signal (e.g., a broadcast (unicast/multicast) message, a beacon,etc.) that indicates the presence of the second network. The indicationof the second may be received from a network device and/or component ofthe second network. For example, the user device may tune thetransceiver to a specific frequency, for a duration, to monitor for thesignal that indicates the presence of a second network. The duration maybe based on the mobility of the user device, an operational status ofthe user device, power consumption of the user device, device presence(e.g., user device indoor vs. outdoor, etc.), or geo-fencinginformation/parameters. The signal that indicates the presence of thesecond network may be sent/broadcast by any device/component of thesecond network, such as a base station, access point, relay, node,and/or the like.

At 520, a network condition of the second network may be determined. Anindication of a network condition of the second network may be receivedwith the indication of the presence of the second network. Theindication of the network condition may be sent/broadcast by thedevice/component of the second network. The network condition may bethat the second network is congested, overloaded, and/or experiencingany other network condition. Alternatively, the second network may beoperating free of errors, congestion, or any other issues that maydetriment a user experience. The second network may periodicallybroadcast signals that indicate its network condition.

The signal that indicates the presence of the second network may bereceived for a threshold duration. The user device may determine thatthe signal that indicates the presence of the second network is receivedfor the threshold duration. For example, an application processor of theuser device may determine that the signal that indicates the presence ofthe second network is received for the threshold duration.

The signal that indicates the presence of the second network may bedetermined to satisfy a threshold. The user device may determine thatthe signal satisfies the threshold. For example, the user device may usesignal measurements such as reference signal received power (RSRP),reference signal received quality (RSRQ), or any other signalmeasurement to determine that the signal satisfies the threshold. Thethreshold may be based on a threshold power level, a thresholdamplitude, and/or the like. When the user device determines that thesignal satisfies the threshold, a transceiver of the user device mayinform a modem of the user device of the presence of the second network.A notification that the signal that indicates the presence of the secondnetwork satisfies the threshold and the indication of the networkcondition may be sent from the modem to an application processor of theuser device.

At 530, the user device may communicate with the second network. Forexample, the user device may send a request to connect to the secondnetwork based on the indication of the network condition of the secondnetwork. For example, the indication of the network condition mayindicate that the second network has available bandwidth, is operatingerror free, and/or is not experiencing latency. The indication of thenetwork condition may indicate any situation and/or condition associatedwith the second network. The user device may send the request to connectto the second network to a base station, access point, relay, node,and/or the like of the second network. The application processer of theuser device may cause the modem to send the request to connect to thesecond network to the base station, access point, relay, node, and/orthe like of the second network based on determining that the signal thatindicates the presence of the second network is received for thethreshold duration and the network condition.

The user device may receive an acknowledgment of the request to connectto the second network from the base station, access point, relay, node,and/or the like of the second network. For example, the user device mayreceive the acknowledgment via the transceiver. The acknowledgment maybe sent/forwarded from the transceiver to the application processor. Theapplication processor may initiate a switch protocol to cause the userdevice to connect to the second network. Connecting to the secondnetwork may cause the user device to communicate with the second networkvia a second network address (e.g., an IP address associated with thesecond network, etc.). When the user device connects to the secondnetwork, the user device may also send a message to the first network,such as an ‘Extended Service Request’ message to inform the firstnetwork (e.g., inform a base station, network device, relay, accesspoint, etc.) that the user device is disconnecting from the firstnetwork and connecting to the second network. In response to receivingthe message from the user device. The first network may locallydeactivate all data EPS bearers associated with the user device.Alternatively, the first network may suspend the data EPS bearers with apre-configured timer value configured in the first network.

FIG. 6 shows a computer 601. Any device/component described herein maybe or may comprise a computer 601 as shown in FIG. 6 .

The computer 601 may comprise one or more processors 603, a systemmemory 612, and a bus 613 that couples various components of thecomputer 601 including the one or more processors 603 to the systemmemory 612. In the case of multiple processors 603, the computer 601 mayutilize parallel computing.

The bus 613 may comprise one or more of several possible types of busstructures, such as a memory bus, memory controller, a peripheral bus,an accelerated graphics port, and a processor or local bus using any ofa variety of bus architectures.

The computer 601 may operate on and/or comprise a variety ofcomputer-readable media (e.g., non-transitory). Computer-readable mediamay be any available media that is accessible by the computer 601 andcomprises, non-transitory, volatile and/or non-volatile media, removableand non-removable media. The system memory 612 has computer-readablemedia in the form of volatile memory, such as random access memory(RAM), and/or non-volatile memory, such as read-only memory (ROM). Thesystem memory 612 may store data such as service identity managementdata 607 and/or program modules such as operating system 605 and serviceswitching software 606 that are accessible to and/or are operated on bythe one or more processors 603.

The computer 601 may also comprise other removable/non-removable,volatile/non-volatile computer storage media. The mass storage device604 may provide non-volatile storage of computer code, computer-readableinstructions, data structures, program modules, and other data for thecomputer 601. The mass storage device 604 may be a hard disk, aremovable magnetic disk, a removable optical disk, magnetic cassettes orother magnetic storage devices, flash memory cards, CD-ROM, digitalversatile disks (DVD) or other optical storage, random access memories(RAM), read-only memories (ROM), electrically erasable programmableread-only memory (EEPROM), and the like.

Any number of program modules may be stored on the mass storage device604. An operating system 605 and service switching software 606 may bestored on the mass storage device 604. One or more of the operatingsystem 605 and service switching software 606 (or some combinationthereof) may comprise program modules and the service switching software606. Service identity management data 607 may also be stored on the massstorage device 604. Service identity management data 607 may be storedin any of one or more databases known in the art. The databases may becentralized or distributed across multiple locations within the network615.

A user may enter commands and information into the computer 601 via aninput device (not shown). Such input devices comprise, but are notlimited to, a keyboard, pointing device (e.g., a computer mouse, remotecontrol), a microphone, a joystick, a scanner, tactile input devicessuch as gloves, and other body coverings, motion sensor, and the likeThese and other input devices may be connected to the one or moreprocessors 603 via a human-machine interface 602 that is coupled to thebus 613, but may be connected by other interface and bus structures,such as a parallel port, game port, an IEEE 1394 Port (also known as aFirewire port), a serial port, network adapter 608, and/or a universalserial bus (USB).

A display device 611 may also be connected to the bus 613 via aninterface, such as a display adapter 609. It is contemplated that thecomputer 601 may have more than one display adapter 609 and the computer601 may have more than one display device 611. A display device 611 maybe a monitor, an LCD (Liquid Crystal Display), a light-emitting diode(LED) display, a television, smart lens, smart glass, and/or aprojector. In addition to the display device 611, other outputperipheral devices may comprise components such as speakers (not shown)and a printer (not shown) which may be connected to the computer 601 viaInput/Output Interface 610. Any step and/or result of the methods may beoutput (or caused to be output) in any form to an output device. Suchoutput may be any form of visual representation, including, but notlimited to, textual, graphical, animation, audio, tactile, and the like.The display 611 and computer 601 may be part of one device, or separatedevices.

The computer 601 may operate in a networked environment using logicalconnections to one or more remote computing devices 614 a,b,c. A remotecomputing device 614 a,b,c may be a personal computer, computing station(e.g., workstation), portable computer (e.g., laptop, mobile phone,tablet device), smart device (e.g., smartphone, smartwatch, activitytracker, smart apparel, smart accessory), security and/or monitoringdevice, a server, a router, a network computer, a peer device, edgedevice or other common network nodes, and so on. Logical connectionsbetween the computer 601 and a remote computing device 614 a,b,c may bemade via a network 615, such as a local area network (LAN) and/or ageneral wide area network (WAN). Such network connections may be througha network adapter 608. A network adapter 608 may be implemented in bothwired and wireless environments. Such networking environments areconventional and commonplace in dwellings, offices, enterprise-widecomputer networks, intranets, and the Internet.

Application programs and other executable program components such as theoperating system 605 are shown herein as discrete blocks, although it isrecognized that such programs and components may reside at various timesin different storage components of the computing device 601, and areexecuted by the one or more processors 603 of the computer 601. Animplementation of service switching software 606 may be stored on orsent across some form of computer-readable media. Any of the disclosedmethods may be performed by processor-executable instructions embodiedon computer-readable media.

While specific configurations have been described, it is not intendedthat the scope be limited to the particular configurations set forth, asthe configurations herein are intended in all respects to be possibleconfigurations rather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its steps beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its steps or it is nototherwise specifically stated in the claims or descriptions that thesteps are to be limited to a specific order, it is no way intended thatan order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow; plain meaningderived from grammatical organization or punctuation; the number or typeof configurations described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations may be made without departing from thescope or spirit. Other configurations will be apparent to those skilledin the art from consideration of the specification and practicedescribed herein. It is intended that the specification and describedconfigurations be considered as exemplary only, with a true scope andspirit being indicated by the following claims.

1. One or more non-transitory computer-readable media storingprocessor-executable instructions that, when executed by at least oneprocessor, cause the at least one processor to: communicate, by a userdevice, via a first network, wherein the user device is connected to thefirst network via a first network address; determine, based on a signalbeing received for a threshold duration, a presence of a second networkand a network condition associated with the second network; sending,based on the network condition, a request to connect to the secondnetwork; and causing, based on an acknowledgment of the request, theuser device to connect to the second network via a second networkaddress.
 2. The non-transitory computer-readable media of claim 1,wherein the user device comprises one or more of a dual subscriberidentification module (SIM) dual standby (DSDS) device, or a multi-SIMdevice.
 3. The non-transitory computer-readable media of claim 1,wherein the network condition comprises one or more of networkcongestion, network overload, network errors, network latency, ornetwork traffic conditions.
 4. The non-transitory computer-readablemedia of claim 1, wherein the processor-executable instructions, whenexecuted by the at least one processor further cause the at least oneprocessor to send a request to the first network to suspend thecommunicating via the first network.
 5. The non-transitorycomputer-readable media of claim 4, wherein the processor-executableinstructions, when executed by the at least one processor further causethe at least one processor to tune, for a time period, a transceiver ofthe user device to monitor for the signal.
 6. The non-transitorycomputer-readable media of claim 5, wherein the time period is based onat least one of an operational status of the user device, powerconsumption of the user device, or geo-fencing information.
 7. Thenon-transitory computer-readable media of claim 1, wherein theprocessor-executable instructions, when executed by the at least oneprocessor further cause the at least one processor to send, from atransceiver of the user device to a modem of the user device, based onthe signal, an indication of the presence of the second network.
 8. Thenon-transitory computer-readable media of claim 1, wherein theprocessor-executable instructions, when executed by the at least oneprocessor further cause the at least one processor to send, from a modemof the user device to an application processor of the user device, anotification that the signal is received for the threshold duration andan indication of the network condition.
 9. The non-transitorycomputer-readable media of claim 1, wherein the processor-executableinstructions, when executed by the at least one processor further causethe at least one processor to determine, by an application processor ofthe user device, that the signal is received for the threshold duration.10. The non-transitory computer-readable media of claim 1, wherein theprocessor-executable instructions, when executed by the at least oneprocessor further cause the at least one processor to receive from thesecond network, via a transceiver of the user device, the acknowledgmentof the request to connect to the second network.
 11. The non-transitorycomputer-readable media of claim 10, wherein the processor-executableinstructions, when executed by the at least one processor further causethe at least one processor to send from a modem of the user device to anapplication processor of the user device, the acknowledgment of therequest to connect to the second network.
 12. The non-transitorycomputer-readable media of claim 1, wherein the processor-executableinstructions that, when executed by the at least one processor, causethe at least one processor to determine, based on the signal beingreceived for the threshold duration, the presence of the second networkand the network condition associated with the second network, furthercause the at least one processor to determine an indication of thepresence of the second network and the network condition associated withthe second network.
 13. A system comprising: a user device configuredto: communicate via a first network, wherein the user device isconnected to the first network via a first network address; determine,based on a signal being received for a threshold duration, a presence ofa second network and a network condition associated with the secondnetwork; send, based on the network condition, a request to connect tothe second network; and cause, based on an acknowledgment of therequest, the user device to connect to the second network via a secondnetwork address; and a computing device configured to receive therequest to connect to the second network.
 14. The system of claim 13,wherein the user device comprises one or more of a dual subscriberidentification module (SIM) dual standby (DSDS) device, or a multi-SIMdevice.
 15. The system of claim 13, wherein the network conditioncomprises one or more of network congestion, network overload, networkerrors, network latency, or network traffic conditions.
 16. The systemof claim 13, wherein the user device is further configured to send arequest to the first network to suspend communicating via the firstnetwork.
 17. The system of claim 16, wherein the user device is furtherconfigured to tune, for a time period, a transceiver of the user deviceto monitor for the signal.
 18. The system of claim 17, wherein the timeperiod is based on at least one of an operational status of the userdevice, power consumption of the user device, or geo-fencinginformation.
 19. The system of claim 13, wherein the user device isfurther configured to send, from a transceiver of the user device to amodem of the user device, based on the signal, an indication of thepresence of the second network.
 20. The system of claim 13, wherein theuser device is further configured to send, from a modem of the userdevice to an application processor of the user device, a notificationthat the signal is received for the threshold duration and an indicationof the network condition.
 21. The system of claim 13, wherein the userdevice is further configured to determine, by an application processorof the user device, that the signal is received for the thresholdduration.
 22. The system of claim 13, wherein the user device is furtherconfigured to receive from the second network, via a transceiver of theuser device, the acknowledgment of the request to connect to the secondnetwork.
 23. The system of claim 22, wherein the user device is furtherconfigured to send from a modem of the user device to an applicationprocessor of the user device, the acknowledgment of the request toconnect to the second network.
 24. The system of claim 13, wherein theuser device is further configured to determine an indication of thepresence of the second network and the network condition associated withthe second network.
 25. One or more non-transitory computer-readablemedia storing processor-executable instructions that, when executed byat least one processor, cause the at least one processor to: attempt, bya user device connected to a first network, based on a signal thatindicates a presence of a second network being received for a thresholdduration, to connect to the second network; receive an indication of anetwork condition of the second network; and cancel, based on thenetwork condition, the attempt to connect to the second network.
 26. Thenon-transitory computer-readable media of claim 25, wherein the userdevice comprises at least one of a dual subscriber identification module(SIM) dual standby (DSDS) device, or a multi-SIM device.
 27. Thenon-transitory computer-readable media of claim 25, wherein the networkcondition comprises one or more of network congestion, network overload,network errors, network latency, or network traffic conditions.
 28. Thenon-transitory computer-readable media of claim 25, wherein theprocessor-executable instructions, when executed by the at least oneprocessor further cause the at least one processor to communicate withthe first network via a transceiver of the user device.
 29. Thenon-transitory computer-readable media of claim 28, wherein theprocessor-executable instructions, when executed by the at least oneprocessor further cause the at least one processor to tune, for a timeperiod, the transceiver to monitor for the signal.
 30. Thenon-transitory computer-readable media of claim 25, wherein theprocessor-executable instructions, when executed by the at least oneprocessor further cause the at least one processor to send, from atransceiver of the user device to a modem of the user device, based onthe signal being received for the threshold duration, an indication ofthe presence of the second network.
 31. The non-transitorycomputer-readable media of claim 30, wherein the processor-executableinstructions, when executed by the at least one processor further causethe at least one processor to send, from the modem to an applicationprocessor of the user device, a notification that the signal is receivedfor the threshold duration and the indication of the network condition.32. The non-transitory computer-readable media of claim 25, wherein theprocessor-executable instructions, when executed by the at least oneprocessor further cause the at least one processor to determine, by anapplication processor of the user device, that the signal is receivedfor the threshold duration.
 33. A system comprising: a user deviceconfigured to: attempt, based on a first network and based on a signalthat indicates a presence of a second network being received for athreshold duration, to connect to the second network; receive anindication of a network condition of the second network; and cancel,based on the network condition, the attempt to connect to the secondnetwork; and a computing device configured to receive the attempt toconnect to the second network.
 34. The system of claim 33, wherein theuser device comprises at least one of a dual subscriber identificationmodule (SIM) dual standby (DSDS) device, or a multi-SIM device.
 35. Thesystem of claim 33, wherein the network condition comprises one or moreof network congestion, network overload, network errors, networklatency, or network traffic conditions.
 36. The system of claim 33,wherein the user device is further configured to communicate with thefirst network via a transceiver of the user device.
 37. The system ofclaim 36, wherein the user device is further configured to tune, for atime period, the transceiver to monitor for the signal.
 38. The systemof claim 33, wherein the user device is further configured to send, froma transceiver of the user device to a modem of the user device, based onthe signal being received for the threshold duration, an indication ofthe presence of the second network.
 39. The system of claim 38, whereinthe user device is further configured to send, from the modem to anapplication processor of the user device, a notification that the signalis received for the threshold duration and the indication of the networkcondition.
 40. The system of claim 33, wherein the user device isfurther configured to determine, by an application processor of the userdevice, that the signal is received for the threshold duration.
 41. Oneor more non-transitory computer-readable media storingprocessor-executable instructions that, when executed by at least oneprocessor, cause the at least one processor to: receive, by a userdevice in communication with a first network, a signal associated with asecond network for a threshold duration; determine, based on receivingthe signal for the threshold duration, an indication of the secondnetwork; determine, based on the indication of the second network, anetwork condition of the second network; and cause, based on the networkcondition, the user device to communicate with the second network. 42.The non-transitory computer-readable media of claim 41, wherein the userdevice comprises one or more of a dual subscriber identification module(SIM) dual standby (DSDS) device, or a multi-SIM device.
 43. Thenon-transitory computer-readable media of claim 41, wherein the networkcondition comprises one or more of network congestion, network overload,network errors, network latency, or network traffic conditions.
 44. Thenon-transitory computer-readable media of claim 41, wherein the userdevice is configured to connect to the second network as a primarynetwork connection and connect to the first network as an offloadnetwork connection.
 45. A system comprising: a user device configuredto: receive, based on a first network, a signal associated with a secondnetwork for a threshold duration; determine, based on receiving thesignal for the threshold duration, an indication of the second network;determine, based on the indication of the second network, a networkcondition of the second network; and cause, based on the networkcondition, the user device to communicate with the second network; and acomputing device configured to send the signal associated with thesecond network.
 46. The system of claim 45, wherein the user devicecomprises one or more of a dual subscriber identification module (SIM)dual standby (DSDS) device, or a multi-SIM device.
 47. The system ofclaim 45, wherein the network condition comprises one or more of networkcongestion, network overload, network errors, network latency, ornetwork traffic conditions.
 48. The system of claim 45, wherein the userdevice is further configured to connect to the second network as aprimary network connection and connect to the first network as anoffload network connection.